Skip to content

Taxonomy Packages

Taxonomy Packages are ZIP archives containing XBRL taxonomies plus metadata, defined by the Taxonomy Packages 1.0 specification (Recommendation, April 2016).

ZIP Structure

SampleTaxonomy-v1.0.zip
└── SampleTaxonomy-v1.0/          (single top-level directory)
     ├── META-INF/                 (mandatory)
     │    ├── taxonomyPackage.xml  (mandatory - the manifest)
     │    └── catalog.xml          (optional - URL remapping)
     └── [taxonomy files]
         ├── schema.xsd
         ├── labels.xml
         ├── presentation.xml
         └── ...

taxonomyPackage.xml

The manifest file describing the package:

ElementPurposeRequired?
<tp:identifier>Unique URI for the packageYes
<tp:name>Human-readable name (multi-lingual)No
<tp:description>Description (multi-lingual)No
<tp:version>Version identifierNo
<tp:publisher>Publishing entityNo
<tp:publisherURL>Publisher websiteNo
<tp:publisherCountry>ISO 3166-1 two-letter codeNo
<tp:publicationDate>Publication dateNo
<tp:entryPoints>List of entry pointsNo
<tp:supersededTaxonomyPackages>Packages this one replacesNo

Entry Points in the Package

Each entry point declares one or more starting documents:

xml
<tp:entryPoint>
  <tp:name>Full IFRS entry point</tp:name>
  <tp:description>For full IFRS reporting</tp:description>
  <tp:entryPointDocument href="https://example.org/taxonomy/entry.xsd"/>
</tp:entryPoint>

catalog.xml (URL Remapping)

Maps public HTTP URLs to local files within the package. This allows offline use.

xml
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  <rewriteURI
    uriStartString="https://xbrl.cipc.co.za/taxonomy/2024-09-30/"
    rewritePrefix="../xbrl.cipc.co.za/taxonomy/2024-09-30/"/>
</catalog>

This means: when a processor encounters a URL starting with https://xbrl.cipc.co.za/taxonomy/2024-09-30/, replace that prefix with the local path ../xbrl.cipc.co.za/taxonomy/2024-09-30/.

Longest matching prefix wins when there are overlapping rules.

Examples in This Vault

LEI Package

xml
<tp:identifier>http://www.xbrl.org/taxonomy/int/lei/2020-07-02</tp:identifier>
<tp:name>Legal Entity Identifier Taxonomy</tp:name>
<tp:publisher>XBRL International Inc.</tp:publisher>
<tp:publisherCountry>US</tp:publisherCountry>

Three entry points: standard LEI, required LEI, and formula functions only.

CIPC Package

xml
<tp:identifier>https://xbrl.cipc.co.za/taxonomy/cipc_2024-09-30</tp:identifier>
<tp:name>CIPC XBRL Taxonomy 2024</tp:name>
<tp:publisher>Companies and Intellectual Property Commission</tp:publisher>
<tp:publisherCountry>ZA</tp:publisherCountry>

Fifteen entry points covering Full IFRS, IFRS for SMEs, GRAP, Co-operatives, and Sustainability.

Superseded Packages

Packages can declare which older packages they replace:

  • Supersession is transitive: if A supersedes B and B supersedes C, then A supersedes C
  • Tracked via <tp:taxonomyPackageRef> elements

Error Codes

The specification defines error codes for invalid packages:

  • tpe:invalidArchiveFormat -- not a valid ZIP
  • tpe:invalidDirectoryStructure -- missing single top-level directory
  • tpe:metadataDirectoryNotFound -- no META-INF directory
  • tpe:metadataFileNotFound -- no taxonomyPackage.xml
  • tpe:invalidMetaDataFile -- malformed manifest
  • tpe:invalidCatalogFile -- malformed catalog